Bootstrap Timepicker


Easily select a time for a text input using your mouse or keyboards arrow keys.

Build Status


Click here to support bootstrap-timepicker and make a donation with pledgie!


Installation


This project is registered as a Bower package.

  1. $ bower install bootstrap-timepicker

Demos


Default timepicker.

  + View Source
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <link type="text/css" href="css/bootstrap.min.css" />
  6. <link type="text/css" href="css/bootstrap-timepicker.min.css" />
  7. <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
  8. <script type="text/javascript" src="js/bootstrap-2.2.2.min.js"></script>
  9. <script type="text/javascript" src="js/bootstrap-timepicker.min.js"></script>
  10. </head>
  11. <body>
  12. <div class="input-append bootstrap-timepicker">
  13. <input id="timepicker1" type="text" class="input-small">
  14. <span class="add-on"><i class="icon-time"></i></span>
  15. </div>
  16.  
  17. <script type="text/javascript">
  18. $('#timepicker1').timepicker();
  19. </script>
  20. </body>
  21. </html>

Inside a modal with 24hr mode and seconds enabled.

  + View Source
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <link type="text/css" href="css/bootstrap.min.css" />
  6. <link type="text/css" href="css/bootstrap-timepicker.min.css" />
  7. <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
  8. <script type="text/javascript" src="js/bootstrap-2.2.2.min.js"></script>
  9. <script type="text/javascript" src="js/bootstrap-timepicker.min.js"></script>
  10. </head>
  11. <body>
  12. <div class="input-append bootstrap-timepicker">
  13. <input id="timepicker2" type="text" class="input-small">
  14. <span class="add-on">
  15. <i class="icon-time"></i>
  16. </span>
  17. </div>
  18.  
  19. <script type="text/javascript">
  20. $('#timepicker2').timepicker({
  21. minuteStep: 1,
  22. template: 'modal',
  23. showSeconds: true,
  24. showMeridian: false
  25. });
  26. </script>
  27. </body>
  28. </html>

Without component markup, keyboard input disabled and floated right.

+ View Source  


  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <link type="text/css" href="css/bootstrap.min.css" />
  6. <link type="text/css" href="css/bootstrap-timepicker.min.css" />
  7. <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
  8. <script type="text/javascript" src="js/bootstrap-2.2.2.min.js"></script>
  9. <script type="text/javascript" src="js/bootstrap-timepicker.min.js"></script>
  10. </head>
  11. <body>
  12. <div class="bootstrap-timepicker pull-right">
  13. <input id="timepicker3" type="text" class="input-small">
  14. </div>
  15.  
  16. <script type="text/javascript">
  17. $('#timepicker3').timepicker({
  18. minuteStep: 5,
  19. showInputs: false,
  20. disableFocus: true
  21. });
  22. </script>
  23. </body>
  24. </html>

Inside a modal with backdrop enabled, inputs disabled and with a preset value.

    Open Modal + View Source
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <link type="text/css" href="css/bootstrap.min.css" />
  6. <link type="text/css" href="css/bootstrap-timepicker.min.css" />
  7. <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
  8. <script type="text/javascript" src="js/bootstrap-2.2.2.min.js"></script>
  9. <script type="text/javascript" src="js/bootstrap-timepicker.min.js"></script>
  10. </head>
  11. <body>
  12. <div> class="modal hide fade">
  13. <div class="modal-header">
  14. <h1>Timepicker inside a modal</h1>
  15. </div>
  16. <div class="modal-body">
  17. <div class="bootstrap-timepicker">
  18. <input id="timepicker4" type="text" value="10:35 AM" class="input-small">
  19. <i class="icon-time"></i>
  20. </div>
  21. </div>
  22. </div>
  23.  
  24. <script type="text/javascript">
  25. $('#timepicker4').timepicker({
  26. minuteStep: 1,
  27. secondStep: 5,
  28. showInputs: false,
  29. template: 'modal',
  30. modalBackdrop: true,
  31. showSeconds: true,
  32. showMeridian: false
  33. });
  34. </script>
  35. </body>
  36. </html>

Without a template.

  + View Source
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <link type="text/css" href="css/bootstrap.min.css" />
  6. <link type="text/css" href="css/bootstrap-timepicker.min.css" />
  7. <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
  8. <script type="text/javascript" src="js/bootstrap-2.2.2.min.js"></script>
  9. <script type="text/javascript" src="js/bootstrap-timepicker.min.js"></script>
  10. </head>
  11. <body>
  12. <div class="bootstrap-timepicker">
  13. <input id="timepicker5" type="text" class="input-small">
  14. <i class="icon-time"></i>
  15. </div>
  16.  
  17. <script type="text/javascript">
  18. $('#timepicker5').timepicker({
  19. template: false,
  20. showInputs: false,
  21. minuteStep: 5
  22. });
  23. </script>
  24. </body>
  25. </html>

Configuration


template The picker widget template

Name Options / Defaults Description
template 'dropdown' (default)
'modal'
false
Show picker in a dropdown
Show picker in a modal
Don't show a widget
minuteStep 15 Specify a step for the minute field.
showSeconds false Show the seconds field.
secondStep 15 Specify a step for the second field.
defaultTime 'current' (default)
'11:45 AM'
false
Set to the current time.
Set to a specific time.
Do not set a default time
showMeridian true (default)
false
12hr mode
24hr mode
showInputs true (default)
false
Shows the text inputs in the widget.
Hide the text inputs in the widget
disableFocus false Disables the input from focusing. This is useful for touch screen devices that display a keyboard on input focus.
modalBackdrop false Show modal backdrop.

Data Attributes

Configuration options can also be set with the use of data attributes.

  1. <div class="bootstrap-timepicker"/><input id="timepicker" data-template="modal" data-minute-step="1" data-modal-backdrop="true" type="text"/></div>

Methods


showWidget Show the picker widget

  1. var time = $('#timepicker').timepicker('showWidget');

setTime Set the time manually

  1. $('#timepicker').timepicker('setTime', '12:45 AM');

Events


Show Triggered when dropdown/modal widget is shown

  1. $('#timepicker').timepicker().on('show.timepicker', function(e) {
  2. console.log('The time is ' + e.time.value);
  3. console.log('The hour is ' + e.time.hour);
  4. console.log('The minute is ' + e.time.minute);
  5. console.log('The meridian is ' + e.time.meridian);
  6. });

Hide Triggered when widget is hidden

  1. $('#timepicker').timepicker().on('hide.timepicker', function(e) {
  2. console.log('The time is ' + e.time.value);
  3. console.log('The hour is ' + e.time.hour);
  4. console.log('The minute is ' + e.time.minute);
  5. console.log('The meridian is ' + e.time.meridian);
  6. });

Update Triggered when the date is updated

  1. $('#timepicker').timepicker().on('changeTime.timepicker', function(e) {
  2. console.log('The time is ' + e.time.value);
  3. console.log('The hour is ' + e.time.hour);
  4. console.log('The minute is ' + e.time.minute);
  5. console.log('The meridian is ' + e.time.meridian);
  6. });